package com.mydomain.Bodega;
// Generated 28/05/2012 10:45:58 PM by Hibernate Tools 3.2.2.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * BienPersona generated by hbm2java
 */
@Entity
@Table(name = "bien_persona", schema = "public")
public class BienPersona implements java.io.Serializable {

	private int perCodigo;
	private Subdepartamento subdepartamento;
	private String perCedula;
	private String perNombres;
	private String perApellidos;
	private Set<BienMovimiento> bienMovimientos = new HashSet<BienMovimiento>(0);

	public BienPersona() {
	}

	public BienPersona(int perCodigo) {
		this.perCodigo = perCodigo;
	}
	public BienPersona(int perCodigo, Subdepartamento subdepartamento,
			String perCedula, String perNombres, String perApellidos,
			Set<BienMovimiento> bienMovimientos) {
		this.perCodigo = perCodigo;
		this.subdepartamento = subdepartamento;
		this.perCedula = perCedula;
		this.perNombres = perNombres;
		this.perApellidos = perApellidos;
		this.bienMovimientos = bienMovimientos;
	}

	@Id
	@Column(name = "per_codigo", unique = true, nullable = false, precision = 5, scale = 0)
	@NotNull
	public int getPerCodigo() {
		return this.perCodigo;
	}

	public void setPerCodigo(int perCodigo) {
		this.perCodigo = perCodigo;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "subdep_codigo")
	public Subdepartamento getSubdepartamento() {
		return this.subdepartamento;
	}

	public void setSubdepartamento(Subdepartamento subdepartamento) {
		this.subdepartamento = subdepartamento;
	}

	@Column(name = "per_cedula", length = 10)
	@Length(max = 10)
	public String getPerCedula() {
		return this.perCedula;
	}

	public void setPerCedula(String perCedula) {
		this.perCedula = perCedula;
	}

	@Column(name = "per_nombres", length = 100)
	@Length(max = 100)
	public String getPerNombres() {
		return this.perNombres;
	}

	public void setPerNombres(String perNombres) {
		this.perNombres = perNombres;
	}

	@Column(name = "per_apellidos", length = 100)
	@Length(max = 100)
	public String getPerApellidos() {
		return this.perApellidos;
	}

	public void setPerApellidos(String perApellidos) {
		this.perApellidos = perApellidos;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bienPersona")
	public Set<BienMovimiento> getBienMovimientos() {
		return this.bienMovimientos;
	}

	public void setBienMovimientos(Set<BienMovimiento> bienMovimientos) {
		this.bienMovimientos = bienMovimientos;
	}

}
